package com.hanshunping.array;

import java.util.Scanner;

/**
 * 数组的扩容
 * 1.int[] arr = {1,2,3};让其变成 arr ={1,2,3,4};
 * 2.添加一个内容 用户询问是否继续（y,n） [1]建立一个接收器 Scanner
 * [2]do-while 循环 直到用户输入 n 停止循环
 */
public class ArrayAdd01 {
    public static void main(String[] args) {
        //初始化一个数组 arr = 123
        int[] arr = {1, 2, 3};
        System.out.println("======查看扩容前数组arr的元素情况=====");
        arrayRead(arr);
        System.out.println();
        arrayAdd(arr);

    }

    public static void arrayAdd(int[] arr) {
        Scanner sc = new Scanner(System.in);
        do {
            //创建一个新数组 进行数组拷贝
            int[] arrNew = new int[arr.length + 1];
            for (int i = 0; i < arr.length; i++) {
                arrNew[i] = arr[i];
            }
            //让新数组的最后一个值添加为(4\num)
            System.out.println("请输入添加的元素：");
            int num = sc.nextInt();
            arrNew[arrNew.length - 1] = num;
            arr = arrNew;

            //查看一下数组arr的情况
            System.out.println("==========查看一下扩容后的情况======");
            for (int i = 0; i < arr.length; i++) {
                System.out.print(arr[i] + " ");
            };
            System.out.println();
            System.out.println("添加成功");
            //使用一个接收器 接收输入的元素
            System.out.println("是否继续添加？（y/n）");
            char key = sc.next().charAt(0);
            //用户输入n break
            if (key == 'n') {
                System.out.println("添加结束");
                break;
            }
        } while (true);
    }

    //查看扩容前元素的情况
    public static void arrayRead(int[] arr) {
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + " ");
        }
    }
}
